/*
 * Copyright 2008 Federal Emergency Management Agency
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *    http://www.apache.org/licenses/LICENSE-2.0 
 *    
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 *  
 */
package gov.fema.hazus.bdc.shared.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class FloodHazard implements Serializable {

	@Id Long id;
	private static final long serialVersionUID = -6029953076097594806L;
	
	private String FIRMPanel;
	private String FIRMCommunity;
	private Date FIRMEffectiveDate = new Date("1/1/1111");
	private Date FIRMRevisedDate = new Date("1/1/1111");
	private String floodHazardZone;
	private Integer baseFloodElevation = 0;
	private String verticalDatum;
	private String otherVerticalDatum;
	private Integer baseFloodElevationPlus = 0;
	private Integer lowestGradeElevation = 0;
	
	// constants
	public static final String FIRMPANEL = "FIRM panel";
	public static final String FIRMCOMMUNITY = "FIRM community";
	public static final String FIRMEFFECTIVE = "FIRM effective";
	public static final String FIRMREVISED = "FIRM revised";
	public static final String FLOODHAZARDZONE = "flood hazard zone";
	public static final String BASEFLOODELEVATION = "base flood elevation";
	public static final String VERTICALDATUM = "vertical datum";
	public static final String OTHERVERTICALDATUM = "other vertical datum";
	public static final String BASEFLOODELEVATIONPLUS = "base flood elevation plus";
	public static final String LOWESTGRADEELEVATION = "lowest grade elevation";
	
	public FloodHazard()
	{
		
	}
	
	

	public Integer getBaseFloodElevation() {
		return baseFloodElevation;
	}



	public void setBaseFloodElevation(Integer baseFloodElevation) {
		this.baseFloodElevation = baseFloodElevation;
	}



	public Integer getBaseFloodElevationPlus() {
		return baseFloodElevationPlus;
	}



	public void setBaseFloodElevationPlus(Integer baseFloodElevationPlus) {
		this.baseFloodElevationPlus = baseFloodElevationPlus;
	}



	public String getFIRMCommunity() {
		return FIRMCommunity;
	}



	public void setFIRMCommunity(String community) {
		FIRMCommunity = community;
	}



	public Date getFIRMEffectiveDate() {
		return FIRMEffectiveDate;
	}



	public void setFIRMEffectiveDate(Date effectiveDate) {
		FIRMEffectiveDate = effectiveDate;
	}



	public String getFIRMPanel() {
		return FIRMPanel;
	}



	public void setFIRMPanel(String panel) {
		FIRMPanel = panel;
	}



	public Date getFIRMRevisedDate() {
		return FIRMRevisedDate;
	}



	public void setFIRMRevisedDate(Date revisedDate) {
		FIRMRevisedDate = revisedDate;
	}



	public String getFloodHazardZone() {
		return floodHazardZone;
	}



	public void setFloodHazardZone(String floodHazardZone) {
		this.floodHazardZone = floodHazardZone;
	}



	public Integer getLowestGradeElevation() {
		return lowestGradeElevation;
	}



	public void setLowestGradeElevation(Integer lowestGradeElevation) {
		this.lowestGradeElevation = lowestGradeElevation;
	}



	public String getOtherVerticalDatum() {
		return otherVerticalDatum;
	}



	public void setOtherVerticalDatum(String otherVerticalDatum) {
		this.otherVerticalDatum = otherVerticalDatum;
	}



	public String getVerticalDatum() {
		return verticalDatum;
	}



	public void setVerticalDatum(String verticalDatum) {
		this.verticalDatum = verticalDatum;
	}



	public String toString()
	{
		String str = "";
		str += "[flood-hazard";
		str += "[firm-panel="+this.FIRMPanel+"]";
		str += "[firm-community="+this.FIRMCommunity+"]";
		str += "[firm-effective-date="+this.FIRMEffectiveDate+"]";
		str += "[firm-revised-date="+this.FIRMRevisedDate+"]";
		str += "[flood-hazard-zone="+this.floodHazardZone+"]";
		str += "[base-flood-elevation="+this.baseFloodElevation+"]";
		str += "[vertical-datum="+this.verticalDatum+"]";
		str += "[other-vertical-datum="+this.otherVerticalDatum+"]";
		str += "[base-flood-elevation="+this.baseFloodElevationPlus+"]";
		str += "[lowest-grade-elevation="+this.lowestGradeElevation+"]";
		str += "]";
		return str;
	}



	public Long getId() {
		return id;
	}



	public void setId(Long id) {
		this.id = id;
	}	
	
}
